package cn.jobstart.search;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import cn.jobstart.pubInter.BaseSearch;
import cn.jobstart.model.ResumeEducationalExperience;
import java.util.Date;
import java.util.List;
import java.math.BigDecimal;
import lombok.Data;
/**
*   @author sunke
*   @Date 2023-11-10 16:18:27
*   @description ResumeEducationalExperienceSearch      教育经历
*/


@Data
@ApiModel("教育经历ResumeEducationalExperienceSearch")
public abstract class ResumeEducationalExperienceSearch<Sub extends ResumeEducationalExperienceSearch<Sub>> extends BaseSearch {
    @ApiModelProperty(value = "主键")
    private List idIn;
    @ApiModelProperty(value = "求职者id	")
    private String kzpStudentIdEq;
    @ApiModelProperty(value = "旧简历id")
    private String oldResumesIdEq;
    @ApiModelProperty(value = "开始(数据来源)简历创建时间")
    private Date resumeCreateTimeStart;
    @ApiModelProperty(value = "结束(数据来源)简历创建时间")
    private Date resumeCreateTimeEnd;
    @ApiModelProperty(value = "简历id")
    private String resumesIdEq;
    @ApiModelProperty(value = "学校名称")
    private String titleLike;
    @ApiModelProperty(value = "专业名称")
    private String unitNameLike;
    @ApiModelProperty(value = "开始毕业时间")
    private Date endTimeStart;
    @ApiModelProperty(value = "结束毕业时间")
    private Date endTimeEnd;
    @ApiModelProperty(value = "开始入学时间")
    private Date startTimeStart;
    @ApiModelProperty(value = "结束入学时间")
    private Date startTimeEnd;
    @ApiModelProperty(value = "学历")
    private String unitTypeLike;
    @ApiModelProperty(value = "大于排序")
    private Integer sortNumGreater;
    @ApiModelProperty(value = "小于排序")
    private Integer sortNumLess;
    @ApiModelProperty(value = "是否显示 1:是:Y,0:否:N")
    private List showFlagIn;
    @ApiModelProperty(value = "是否删除 1:删除:Y,0:正常:N")
    private Integer delFlagEq=0;
    @ApiModelProperty(value = "版本")
    private Integer verisonEq;
    @ApiModelProperty(value = "学校标签")
    private String schoolLabelFlagLike;

    public ResumeEducationalExperienceSearch() {
        setDelFlagEq(0);
    }



    /**
    * 返回子类Sub
    * @return
    */
    public abstract Sub getSubThis();

    @Override
    public String createTimeFiled() {
        return ResumeEducationalExperience.CREATE_TIME;
    }
    @Override
    public String updateTimeFiled() {
        return ResumeEducationalExperience.UPDATE_TIME;
    }
    @Override
    public String  setDefaultField() {
        return ResumeEducationalExperience.CREATE_TIME;
    }
    @Override
    public String pkField() {
        return ResumeEducationalExperience.ID;
    }

    @Override
    public String  toString() {
        return "ResumeEducationalExperienceSearch{}"+super.toString();
    }
    public Sub setIdIn(List idIn){
        this.idIn = idIn;
        setInField(ResumeEducationalExperience.ID, idIn);
        return getSubThis();
    }
    public Sub setKzpStudentIdEq(String kzpStudentIdEq){
        this.kzpStudentIdEq = kzpStudentIdEq;
        setEqualField(ResumeEducationalExperience.KZP_STUDENT_ID, kzpStudentIdEq);
        return getSubThis();
    }
    public Sub setOldResumesIdEq(String oldResumesIdEq){
        this.oldResumesIdEq = oldResumesIdEq;
        setEqualField(ResumeEducationalExperience.OLD_RESUMES_ID, oldResumesIdEq);
        return getSubThis();
    }
    public Sub setResumeCreateTimeStart(Date resumeCreateTimeStart){
        this.resumeCreateTimeStart = resumeCreateTimeStart;
        setDateStartField(ResumeEducationalExperience.RESUME_CREATE_TIME, resumeCreateTimeStart);
        return getSubThis();
    }
    public Sub setResumeCreateTimeEnd(Date resumeCreateTimeEnd){
        this.resumeCreateTimeEnd = resumeCreateTimeEnd;
        setDateEndField(ResumeEducationalExperience.RESUME_CREATE_TIME, resumeCreateTimeEnd);
        return getSubThis();
    }
    public Sub setResumesIdEq(String resumesIdEq){
        this.resumesIdEq = resumesIdEq;
        setEqualField(ResumeEducationalExperience.RESUMES_ID, resumesIdEq);
        return getSubThis();
    }
    public Sub setTitleLike(String titleLike){
        this.titleLike = titleLike;
        setLikeField(ResumeEducationalExperience.TITLE, titleLike);
        return getSubThis();
    }
    public Sub setUnitNameLike(String unitNameLike){
        this.unitNameLike = unitNameLike;
        setLikeField(ResumeEducationalExperience.UNIT_NAME, unitNameLike);
        return getSubThis();
    }
    public Sub setEndTimeStart(Date endTimeStart){
        this.endTimeStart = endTimeStart;
        setDateStartField(ResumeEducationalExperience.END_TIME, endTimeStart);
        return getSubThis();
    }
    public Sub setEndTimeEnd(Date endTimeEnd){
        this.endTimeEnd = endTimeEnd;
        setDateEndField(ResumeEducationalExperience.END_TIME, endTimeEnd);
        return getSubThis();
    }
    public Sub setStartTimeStart(Date startTimeStart){
        this.startTimeStart = startTimeStart;
        setDateStartField(ResumeEducationalExperience.START_TIME, startTimeStart);
        return getSubThis();
    }
    public Sub setStartTimeEnd(Date startTimeEnd){
        this.startTimeEnd = startTimeEnd;
        setDateEndField(ResumeEducationalExperience.START_TIME, startTimeEnd);
        return getSubThis();
    }
    public Sub setUnitTypeLike(String unitTypeLike){
        this.unitTypeLike = unitTypeLike;
        setLikeField(ResumeEducationalExperience.UNIT_TYPE, unitTypeLike);
        return getSubThis();
    }
    public Sub setSortNumGreater(Integer sortNumGreater){
        this.sortNumGreater = sortNumGreater;
        setGreaterField(ResumeEducationalExperience.SORT_NUM, sortNumGreater);
        return getSubThis();
    }
    public Sub setSortNumLess(Integer sortNumLess){
        this.sortNumLess = sortNumLess;
        setLessField(ResumeEducationalExperience.SORT_NUM, sortNumLess);
        return getSubThis();
    }
    public Sub setShowFlagIn(List showFlagIn){
        this.showFlagIn = showFlagIn;
        setInField(ResumeEducationalExperience.SHOW_FLAG, showFlagIn);
        return getSubThis();
    }
    public Sub setDelFlagEq(Integer delFlagEq){
        this.delFlagEq = delFlagEq;
        setEqualField(ResumeEducationalExperience.DEL_FLAG, delFlagEq);
        return getSubThis();
    }
    public Sub setVerisonEq(Integer verisonEq){
        this.verisonEq = verisonEq;
        setEqualField(ResumeEducationalExperience.VERISON, verisonEq);
        return getSubThis();
    }
    public Sub setSchoolLabelFlagLike(String schoolLabelFlagLike){
        this.schoolLabelFlagLike = schoolLabelFlagLike;
        setLikeField(ResumeEducationalExperience.SCHOOL_LABEL_FLAG, schoolLabelFlagLike);
        return getSubThis();
    }
}